文章目录
  1. 1. 起因
  2. 2. 无法在button上显示图片的问题
    1. 2.1. alloy的tss失败
    2. 2.2. classic版本1
    3. 2.3. 最终的解决方案

起因

由于最近跟同学合作一个项目,需要在android上开发一个应用,但我不熟悉java,而且我想让这个开发出来的东西以后能方便的移植到ios上面,所以就考虑了跨平台的titanium。

无法在button上显示图片的问题

alloy的tss失败

原先我是使用的alloy框架来写这个demo,然后用下面的这段代码添加图片到按 钮上,并在浏览器中测试正常。

1
2
3
4
5
6
"#button":{
backgroundImage: "button.png",
top:10,
width:88,
height:25
}

上面这段是tss文件的内容。但这段代码编译到apk后在小米手机上运行就无法显 示出按钮上的图片了。一直没想明白是什么原因。

classic版本1

改成用js来写这段样式后的代码如下:

1
2
3
4
5
6
7
8
9
10
var btnTest = Ti.UI.createButton({
backgroundImage : 'button.png',
backgroundColor : '#0098db',
borderRadius : 5,
color : '#8F9191',
height : 25,
width : 88,
top : 10,
left : 10
});

然后效果跟上面的版本一样,也是浏览器中可以正常运行,android手机上的显 示就有问题。

最终的解决方案

最后在官方的一个其它的问题中发现了我可能是路径的设置有问题。将代码改成 如下方式后就完全正常了。

1
2
3
4
5
6
7
8
9
10
var btnTest = Ti.UI.createButton({
backgroundImage : '/images/button.png',
backgroundColor : '#0098db',
borderRadius : 5,
color : '#8F9191',
height : 25,
width : 88,
top : 10,
left : 10
});

原因应该是在android中的资源目录的路径应该是要写成从 / 开始。所以我上 面的这段路径对应的就是如下图所示的位置。

路径图

文章目录
  1. 1. 起因
  2. 2. 无法在button上显示图片的问题
    1. 2.1. alloy的tss失败
    2. 2.2. classic版本1
    3. 2.3. 最终的解决方案